// pages/register/register.js
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    residential:[],
    build:[],
    userInfo:app.globalData.userInfo,
    detailed_address:'',
    userType:1,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      'userInfo':app.globalData.userInfo
    })
      this.getResidential()
      
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },
  getResidential(){
    var that = this
    app.call.getData('wxapp/residential', function(data){
      that.setData({
        residential:data.data,
      })
    },function(){});
  },
  //监听所有输入框
  titleInput:function(e){
    if(!e.detail.keyCode){ 
      return ;
    }
    var residential = this.data.residential
    var residential_name = e.detail.value
    //匹配的结果
    var newSource = []
    if (residential_name != '') { 
      // 对于数组array进行遍历，功能函数中的参数 `e`就是遍历时的数组元素值。
      residential.forEach(function (e,index) { 
        // 用户输入的字符串如果在数组中某个元素中出现，将该元素存到newSource中
        if (e.name.indexOf(residential_name) != -1) {
          newSource.push({name:e.name,id:e.id,detailed_address:e.detailed_address})
        }
      })
    };
    this.setData({
      tipShow:true
    })
    // 如果匹配结果存在，那么将其返回，相反则返回空数组
    if (newSource.length != 0) {
      this.setData({
        // 匹配结果存在，显示自动联想词下拉列表
        check_residential: newSource
      })
    } else {
      this.setData({
        // 匹配无结果，不现实下拉列表
        check_residential: []
      })
    }
  },
  changeName(e) {
    this.setData({
      residential_name: e.currentTarget.dataset.name,
      residential_id: e.currentTarget.dataset.id,
      tipShow:false,
      build_id:0,
      build_name:'',
      room_id:0,
      room_name:'',
      detailed_address:e.currentTarget.dataset.detailed_address,
    }),this.getBuild()
  },
  getBuild(){
    var that = this
    app.call.getData('wxapp/build?residential_id='+that.data.residential_id, function(data){
      that.setData({
        build:data.data,
        checkbuild:data.data,
      })
    },function(){});
  },
  checkBuild(e){
    if(!e.detail.keyCode){ 
      return ;
    }
    var build = this.data.build
    var build_name = e.detail.value
    //匹配的结果
    var newSource = []
    if (build_name != '') { 
      // 对于数组array进行遍历，功能函数中的参数 `e`就是遍历时的数组元素值。
      build.forEach(function (e,index) { 
        // 用户输入的字符串如果在数组中某个元素中出现，将该元素存到newSource中
        if (e.name.indexOf(build_name) != -1) {
          newSource.push({name:e.name,id:e.id,landlord:e.landlord})
        }
      })
    };
    this.setData({
      buildShow:true
    })
    // 如果匹配结果存在，那么将其返回，相反则返回空数组
    if (newSource.length != 0) {
      this.setData({
        // 匹配结果存在，显示自动联想词下拉列表
        checkbuild: newSource
      })
    } else {
      this.setData({
        // 匹配无结果，不现实下拉列表
        checkbuild: []
      })
    }
    
  },
  changBuild(e){
    this.setData({
      build_name: e.currentTarget.dataset.name,
      build_id: e.currentTarget.dataset.id,
      buildShow:false,
      room_id:0,
      room_name:''
    }),this.getRoom()
  },
  getRoom(){
    var that = this
    app.call.getData('wxapp/room?build_id='+that.data.build_id, function(data){
      that.setData({
        room:data.data,
      })
    },function(){});
  },
  //监听所有输入框
  checkroom:function(e){
    if(!e.detail.keyCode){ 
      return ;
    }
    var room = this.data.room
    var room_name = e.detail.value
    //匹配的结果
    var newSource = []
    if (room_name != '') { 
      // 对于数组array进行遍历，功能函数中的参数 `e`就是遍历时的数组元素值。
      room.forEach(function (e,index) { 
        // 用户输入的字符串如果在数组中某个元素中出现，将该元素存到newSource中
        if (e.name.indexOf(room_name) != -1) {
          newSource.push({name:e.name,id:e.id,landlord:e.landlord})
        }
      })
    };
    this.setData({
      roomShow:true
    })
    // 如果匹配结果存在，那么将其返回，相反则返回空数组
    if (newSource.length != 0) {
      this.setData({
        // 匹配结果存在，显示自动联想词下拉列表
        checkRoom: newSource
      })
    } else {
      this.setData({
        // 匹配无结果，不现实下拉列表
        checkRoom: []
      })
    }
  },
  changRoom(e){
    var landlord = e.currentTarget.dataset.landlord
    if(landlord > 0){
      app.showTip('该房号存在业主，登记后需要业主审核才可绑定成功。如有问题可以联系客服人员');
    }
    this.setData({
      room_name: e.currentTarget.dataset.name,
      room_id: e.currentTarget.dataset.id,
      roomShow:false
    })
  },
  onGetPhoneNumber(e) {
    var that = this;
    app.getMobile(e,that)
  }, 
  register:function(){
    
    var data = this.data;
    if(!('residential_id' in data)){
      app.showTip('小区暂不支持或者未选择下拉框中的小区');
      return ;
    }
    if(!('build_id' in data) || data.build_id == 0){
      app.showTip('请选择对应的楼栋');
      return ;
    }
    if(!('room_id' in data) || data.room_id == 0){
      app.showTip('房号不存在或者未选择对应的房号');
      return ;
    }
    if(this.data.userInfo.mobile == null){
      app.showTip('请先授权手机号码');
      return ;
    }
    var that = this
    var postData = {
      'residential_id':data.residential_id,
      'build_id':data.build_id,
      'room_id':data.room_id,
      'residential_name':data.residential_name,
      'build_name':data.build_name,
      'room_name':data.room_name,
      'userType':data.userType
    }
    app.call.request('wxapp/register',postData, function(data){
      app.showTip('登记成功');
      wx.navigateTo({
        url: '/pages/cardAndFace/cardAndFace'
      });
      
    },function(){});
  },
  //选择类型
  radioChange(e) {
    this.setData({
      userType:e.detail.value
    })
  },
})